#ifndef _LA_BITARRAY_H
#define _LA_BITARRAY_H

#define LA_BITARRAY_INDEX(bit) ( (bit) >> 3 )

#define LA_BITARRAY_MASK(bit) ( 1 << ( (bit) & 7u ) )

#define LA_BITARRAY_SET(array, bit) {\
  ( (unsigned char*)(array) )[LA_BITARRAY_INDEX(bit)] |= LA_BITARRAY_MASK(bit);\
}

#define LA_BITARRAY_DEL(array, bit) {\
  ( (unsigned char*)(array) )[LA_BITARRAY_INDEX(bit)] &= ~LA_BITARRAY_MASK(bit);\
}

#define LA_BITARRAY_GET(array, bit) (\
  ( (unsigned char*)(array) )[LA_BITARRAY_INDEX(bit)] & LA_BITARRAY_MASK(bit)\
)

#endif
